Obtengo un directory index of "/src/" is forbidden al configurar la configuración de Docker Nginx dentro de Kubernetes. Aquí está el error de los registros de Kubernetes.
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2021/03/11 02:23:24 [error] 23#23: *1 directory index of "/src/" is forbidden, client: 10.136.144.155, server: 0.0.0.0, request: "GET / HTTP/1.1", host: "10.42.3.4:80" 10.136.144.155 - - [11/Mar/2021:02:23:24 +0000] "GET / HTTP/1.1" 403 125 "-" "kube-probe/1.15"Mi dockerfile para servir nginx para una aplicación Angular es bastante simple:
FROM nginx RUN rm /etc/nginx/conf.d/default.conf COPY ./nginx/conf.d /etc/nginx/ COPY dist /src RUN ls /srcMi archivo nginx.conf contiene:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name 0.0.0.0; root /src; charset utf-8; include h5bp/basic.conf; # eg https://github.com/h5bp/server-configs-nginx include modules/gzip.conf; location =/index.html { include modules/cors.conf; } location / { try_files $uri$args $uri$args/ /index.html; } } }La implementación de Kubernetes utiliza una imagen de Quay. ¿Cree que mi error podría estar en el archivo dockerfile, el archivo nginx.conf o ambos?
En la línea de copia de Dockerfile, está copiando conf.d a la carpeta nginx, intente cambiar eso
FROM nginx RUN rm /etc/nginx/conf.d/default.conf COPY ./nginx/conf.d /etc/nginx/conf.d COPY dist /src RUN ls /srcResolví mi error cambiando mi Angular build outputPath a "dist" en lugar del valor predeterminado "dist/my-project" que se configuró con la instalación de Angular.
"architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "outputPath": "dist", // was previously "dist/my-project"